package com.everbest.system.entity;

import javax.validation.constraints.NotEmpty;

import com.everbest.system.domain.SysUser;

public class UserIdRequestEntity {

    /** 岗位序号 */
    private Long postId;
    /** 是否优先返回节点历史审批人 */
    private boolean priorityAssignee = true;
    /** 流程实例id */
    private String instanceId;
    /** 流程定义节点id */
    @NotEmpty
    private String taskDefinitionKey;
    /** 系统当前用户 */
    private SysUser sysUser;
    /** 需要强制指定在哪个部门下选择用户 */
    private long deptId;
    /** 是否只是当前部门,默认为部门下的所有子组织机构 */
    private boolean selfDept = false;

    public UserIdRequestEntity(Long postId, String instanceId, String taskDefinitionKey, SysUser sysUser) {
        this.postId = postId;
        this.instanceId = instanceId;
        this.taskDefinitionKey = taskDefinitionKey;
        this.sysUser = sysUser;
    }

    public UserIdRequestEntity(Long postId, @NotEmpty String taskDefinitionKey, SysUser sysUser) {
        this.postId = postId;
        this.taskDefinitionKey = taskDefinitionKey;
        this.sysUser = sysUser;
    }

    public Long getPostId() {
        return postId;
    }

    public void setPostId(Long postId) {
        this.postId = postId;
    }

    public boolean isPriorityAssignee() {
        return priorityAssignee;
    }

    public void setPriorityAssignee(boolean priorityAssignee) {
        this.priorityAssignee = priorityAssignee;
    }

    public String getInstanceId() {
        return instanceId;
    }

    public void setInstanceId(String instanceId) {
        this.instanceId = instanceId;
    }

    public String getTaskDefinitionKey() {
        return taskDefinitionKey;
    }

    public void setTaskDefinitionKey(String taskDefinitionKey) {
        this.taskDefinitionKey = taskDefinitionKey;
    }

    public SysUser getSysUser() {
        return sysUser;
    }

    public void setSysUser(SysUser sysUser) {
        this.sysUser = sysUser;
    }

    public long getDeptId() {
        return deptId;
    }

    public void setDeptId(long deptId) {
        this.deptId = deptId;
    }

    public boolean isSelfDept() {
        return selfDept;
    }

    public void setSelfDept(boolean selfDept) {
        this.selfDept = selfDept;
    }
}
